package com.ktgj.customer.mapper;

import com.ktgj.customer.domain.RightdetailModel;
import com.ktgj.customer.domain.RightdetailServices;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 卡权益明细服务中间Mapper接口
 * 
 * @author ruoyi
 * @date 2021-07-27
 */
public interface RightdetailServicesMapper 
{
    /**
     * 查询卡权益明细服务中间
     * 
     * @param id 卡权益明细服务中间ID
     * @return 卡权益明细服务中间
     */
    public RightdetailServices selectRightdetailServicesById(Long id);

    /**
     * 查询卡权益明细服务中间列表
     * 
     * @param rightdetailServices 卡权益明细服务中间
     * @return 卡权益明细服务中间集合
     */
    public List<RightdetailServices> selectRightdetailServicesList(RightdetailServices rightdetailServices);

    /**
     * 新增卡权益明细服务中间
     * 
     * @param rightdetailServices 卡权益明细服务中间
     * @return 结果
     */
    public int insertRightdetailServices(RightdetailServices rightdetailServices);

    /**
     * 修改卡权益明细服务中间
     * 
     * @param rightdetailServices 卡权益明细服务中间
     * @return 结果
     */
    public int updateRightdetailServices(RightdetailServices rightdetailServices);

    /**
     * 删除卡权益明细服务中间
     * 
     * @param id 卡权益明细服务中间ID
     * @return 结果
     */
    public int deleteRightdetailServicesById(Long id);

    /**
     * 批量删除卡权益明细服务中间
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteRightdetailServicesByIds(Long[] ids);

    int insertRightdetailServicesBatch(@Param("rightdetailModels") List<RightdetailModel> rightdetailModels, @Param("rightdetailId") Long rightdetailId);

    /**
     * 根据权益id、服务类型、服务 id获取对应的数据
     * @param rightDetailId
     * @param serviceType
     * @param serviceId
     * @return
     */
    List<RightdetailServices> selectServicesChangeByRightDetailIdAndserviceTypeAndserviceId(@Param("rightDetailId") Long rightDetailId,
                                                                                            @Param("serviceType")Long serviceType,
                                                                                            @Param("serviceId")Long[] serviceId);
}
